.TH sandbox-load 1 "" "" "BuildXL User Guide"
.SH NAME
sandbox-load \- Load BuildXLSandbox kernel extension for macOS
.SH SYNOPSIS
.B sandbox-load
[--deploy-dir\fR \fIdeploy-dir\fR]
[--no-reload]
[--enable-counters]
[--verbose-logging]
[--disable-cache]
[--disable-light-trie | --enable-fast-trie]
[--kext] \fIsrc-dir\fR
.SH DESCRIPTION
Loads a 'BuildXLSandbox' kernel extension from a given location.

If BuildXLSandbox extension is already loaded, depending on whether \fB--no-reload\fR was specified,
it either immediately exits or unloads the currently loaded extension and proceeds with loading the one
provided by the \fB--kext\fR switch.

If \fIdeploy-dir\fR is specified, \fIsrc-dir\fR is first copied into '\fIdeploy-dir\fR/BuildXLSandbox.kext',
which is then used as the location from which the extension is loaded.

Before loading, the owner of the final extension folder is changed to 'root:wheel' and its permissions are
set to '555'.  Finally, the extension is loaded from that folder using the 'kextload' utility.

Requires root privileges to execute 'kextload'.
.SH OPTIONS
.TP
.BI --kext "src-dir"
Required.  Directory containing a compiled BuildXLSandbox kernel extension binaries.
The name of this directory must end in ".kext".
.TP
.BI --deploy-dir "deploy-dir"
Optional.  Destination to which to copy the extension from \fIsrc-dir\fR prior to loading it.
When omitted, the extension is loaded directly from \fIsrc-dir\fR.
.TP
.BI --no-reload
Optional.  When specified, if BuildXLSandbox extension is already running, it won't be reloaded.
.TP
.BI --enable-counters
Optional.  When specified, various performance counters will become enabled.
.TP
.BI --verbose-logging
Optional.  When specified, BuildXLSandbox will log verbose messages to the system log.
.TP
.BI --disable-cache
Optional.  When specified, BuildXLSandbox will not cache any access reports 
(i.e., every single file access will be reported as it happens).
.TP
.BI --enable-fast-trie | --disable-light-trie
Optional.  When specified, BuildXLSandbox will use a fast but very memory consuming trie
implementation for its internal dictionaries; othewise (by default), it uses a lightweight trie.